                    ____      ____  _               _
                   |  _ \ ___/ ___|| |__   __ _  __| | ___
                   | |_) / _ \___ \| '_ \ / _` |/ _` |/ _ \
                   |  _ '  __/___) | | | | (_| | (_| |  __/
                   |_| \_\___|____/|_| |_|\__,_|\__,_|\___|
                                  by Crosire

==============================================================================
       Please take the time to read this whole readme ... Thank you! =)
==============================================================================

Contents:
---------

1. About
2. Requirements
3. Installation
   3.1 Setup Tool
   3.2 Manually
4. Additional Credits

==============================================================================

About:
------

ReShade  is an  advanced post-processing injector.  It features  its very  own
effect  language, based  on  HLSL, which  not  only  makes  API  and  platform
independent  shaders  possible, but  also introduces  a wide  range  of useful
features designed especially for post-processing effect development.
In contrast  to all the existing injectors ReShade was written to be completly
generic:  it itself does not come with  any effects, it's a toolset for shader
developers to realize  their very own  imagination. Define  and use  your  own
textures right in the shader code, request custom timers etc., retrieve access
to every  game's color  and depthbuffer (which  ReShade is  able to  genericly
identify and hook across  games without any extra configuration), no matter if
it renders with Direct3D8 (which is wrapped to Direct3D9 to allow using higher
shadermodels), Direct3D9, Direct3D10, Direct3D11 or OpenGL (and in  both 32bit
and 64bit). A highly advanced dynamic hooking system is reponsible for keeping
track of the APIs. And  because ReShade as mentioned comes with its own shader
transpiler, shaders written once work in all five.

Donations to keep this project alive are warmly welcomed!
https://paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9WF7VF9L7G4QW

==============================================================================

Requirements:
-------------

ReShade requires a computer with Windows Vista or higher.
If you want to use it with OpenGL games, your video card needs to have support
for at least OpenGL 4.3.
It is recommended to update your graphics card drivers to latest version.

The only main software requirement are the Visual C++ 2012 Redistributable and
the DirectX runtime, which probably are already installed:
- https://www.microsoft.com/download/details.aspx?id=30679
- https://www.microsoft.com/download/details.aspx?id=35

You also need .Net Framework 4.5  or higher in case  you want to use the setup
tool to simplify installation progress. ReShade itself does not depend on it.
- https://www.microsoft.com/download/details.aspx?id=30653

Installation:
-------------

Setup Tool:
~~~~~~~~~~~
Run the provided "ReShade Setup" tool,  press "Select Game" and browse to your
targeted game's  executable file. The setup then tries to detect which API the
game  uses for rendering and uses that knowledge to  continue the installation
progress.  If  auto-detection  failed, choose  the correct  API from  the list
yourself. Setup then  copies and  renames  ReShade to  the game directory  and
finally provides you with the option to start the game right away. That's it!

Shaders must be copied to the same directory ReShade was installed to and then
renamed into "[RESHADEDLLNAME].fx" (e.g. "d3d9.fx") or "ReShade.fx".

Next time your run the game, you should see the ReShade greeting popping up.

If that is not the case, try to do a manual installation.
Note  that  the setup tool is  just  provided for  convenience  and in no way
required to get ReShade fully working. A manual installation will do the same
good.

Manually:
~~~~~~~~~
Figure whether the game is 32bit or 64bit and copy the matching ReShade DLL to
the directory the game executable is in:
- 32bit         => ReShade32.dll
- 64bit         => ReShade64.dll

Figure out which  API the game uses for rendering, or any of the following DLL
names the game loads and rename the DLL you just copied to that:
- Direct3D8     => d3d8.dll
- Direct3D9     => d3d9.dll
- Direct3D9Ex   => d3d9.dll
- Direct3D10    => dxgi.dll
- Direct3D10.1  => dxgi.dll
- Direct3D11    => dxgi.dll
- Direct3D11.1  => dxgi.dll
- Direct3D11.2  => dxgi.dll
- OpenGL        => opengl32.dll

Done!

If it still does not work, make sure the DLL is loaded at all (a log file with
the DLL name is created). Repeat the  process with another name from the list.
Sometimes the  game loads its DLLs from a different  directory (a "bin" folder
for instance), so try to install ReShade to that one instead.

If that all fails, please report  back with a detailed description of what you
tried so far.

==============================================================================

Additional Credits:
-------------------

Special thanks to Christian Jensen (CeeJay.dk).
He  was  a   very  great  help  in every  possible  way, did  a lot of  testing
(especially regarding the shading language) and is always a nice person to talk
to.

Thank you to all the closed beta testers as well. You were awesome, notably:
- CeeJay.dk
- Marty McFly
- Matsilagi
- Martigen
- K-putt

Libraries used:
- EasyLogging++ by Majid Khan (https://github.com/easylogging/easyloggingpp)
- Frexx CPP by Daniel Stenberg (https://github.com/bagder/fcpp)
- GL3W by Slavomir Kaslev (https://github.com/skaslev/gl3w)
- MinHook by Tsuda Kageyu (https://github.com/RaMMicHaeL/minhook)
- NanoVG by Mikko Mononen (https://github.com/crosire/nanovg)
- STB by Sean Barrett (https://github.com/nothings/stb)

==============================================================================